﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using BL;
using BE;
using System.Text;
using System.IO;

namespace UI.DireccionAcademica
{
    public partial class frmReporteDesaprobados : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {


                llenaCombos();
                Panel1.Visible = false;
            }
        }

        protected void btnBuscar_Click(object sender, EventArgs e)
        {

            try
            {
                llenaGrilla();
                llenaGrillaAcademico();
                UpdatePanel2.Update();
            }

            catch (Exception ex)
            {
                lblMensaje.Text = "Ocurrio un error al Grabar: "+ex.Message;
            }

        }

        void actualizaFlagIngreso()        
        {


            Academico_BL obj = new Academico_BL();
            obj.DATA_NOTAS_ACTUALIZA_FLAG_COMPLEMENTARIO();

        }

        void llenaGrilla()
        {

            Academico_BL obj = new Academico_BL();
            DataTable dato = new DataTable();
            string semestre = "";
            String ciclo = "";

            if (txtCodigo.Text.Trim().Length == 0)
            {


                lblMensaje.Text = "Ingrese código de Alumno";
                return;
            }


            if(ddlSemestre.SelectedIndex==0)
            {
                semestre="TODOS";
            }

            if(ddlSemestre.SelectedIndex!=0)
            {
                semestre=ddlSemestre.SelectedValue;
            }

            if (ddlCiclo.SelectedItem.Text =="TODOS")
            {

                ciclo = "TODOS";
                lblTextoAprobado.Text = "Desaprobados en el Semestre";
            }

            if (ddlCiclo.SelectedItem.Text !="TODOS")
            {

                ciclo = ddlCiclo.SelectedItem.Text;                                
                lblTextoAprobado.Text="Desaprobados en el Ciclo";
            }

            if(ddlSemestre.SelectedIndex==0 && ddlCiclo.SelectedItem.Text!="TODOS")
            {


            }



            dato = obj.DATA_NOTAS_ListaDesaprobados_AGRUPA(txtCodigo.Text.Trim(), "1", semestre,ciclo);

            if (dato.Rows.Count == 0)
            {
                lblMensaje.Text = "El alumno no presenta cursos desaprobados";

                return;
            }

            else

            {
                lblMensaje.Text ="";
                Panel1.Visible = true;
            }
            

            DataTable detalle = obj.DATA_NOTAS_ListaDesaprobados_AGRUPA(txtCodigo.Text.Trim(), "2", semestre,ciclo);

            if (txtCodigo.Text.Trim().Length>0)
            {
                //lblCurso.Text = dato.Rows[0]["semestre"].ToString().Trim();
                
                lblEspecialidad.Text = dato.Rows[0]["especi"].ToString().Trim();
                lblNombre.Text = dato.Rows[0]["nombres"].ToString().Trim();
                lblCantCursosDesaprobados.Text = detalle.Rows.Count.ToString();
            }

            
            grvDesaprobados2.DataSource = detalle;
            grvDesaprobados2.DataBind();
            
        }


        void llenaGrillaAcademico()
        {

            DataTable data = new DataTable();
            Alumno_BL OBJ = new Alumno_BL();

            data = OBJ.data_Matric1_ListaporCodigo(txtCodigo.Text.Trim());

            // seleciona combo sexo

           

            //

            grvDataMatric.DataSource = data;
            grvDataMatric.DataBind();


        }


        void llenaDatos(int x)
        {

            if (x == 1)
            { 

            }

            if (x == 2)
            {

            }

        }
        void llenaCombos()
        {
            DataTable dato = new DataTable();
            Alumno_BL obj = new Alumno_BL();

            dato = obj.DATA_ESPECIALIDAD_ListaEspecialidades();
            ddlEspecialidad.DataSource = dato;
            ddlEspecialidad.DataTextField = "desesp";
            ddlEspecialidad.DataValueField = "cod_Espec";
            ddlEspecialidad.DataBind();
            ddlEspecialidad.Items.Insert(0, "--TODOS--");


            dato.Clear();
            dato = obj.DATA_PERIODO_listaxSemestre("TODOS");
            ddlSemestre.DataSource = dato;
            ddlSemestre.DataTextField = "semestre";
            ddlSemestre.DataValueField = "semestre";
            ddlSemestre.DataBind();
            ddlSemestre.Items.Insert(0, "--TODOS--");

        }

      

        protected void btnExcel_Click(object sender, ImageClickEventArgs e)
        {
            Academico_BL obj = new Academico_BL();
            DataTable dato = new DataTable();
            dato = obj.DATA_NOTAS_ListaDesaprobados_AGRUPA(txtCodigo.Text.Trim(), "2", "TODOS", "TODOS");


            //Create a dummy GridView
            GridView GridView1 = new GridView();
            GridView1.AllowPaging = false;
            GridView1.DataSource = dato;
            GridView1.DataBind();

            Response.Clear();
            Response.Buffer = true;
            Response.AddHeader("content-disposition",
             "attachment;filename=DataTable.xls");
            Response.Charset = "";
            Response.ContentType = "application/vnd.ms-excel";
            StringWriter sw = new StringWriter();
            HtmlTextWriter hw = new HtmlTextWriter(sw);

            for (int i = 0; i < GridView1.Rows.Count; i++)
            {
                //Apply text style to each Row
                GridView1.Rows[i].Attributes.Add("class", "textmode");
            }
            GridView1.RenderControl(hw);

            //style to format numbers to string
            string style = @"<style> .textmode { mso-number-format:\@; } </style>";
            Response.Write(style);
            Response.Output.Write(sw.ToString());
            Response.Flush();
            Response.End();
        }

        protected void btnModal_Click(object sender, ImageClickEventArgs e)
        {
            txtModalCodigo.Text = "";

            DataTable dato = new DataTable();
            grvAgregaAlumnos.DataSource=dato;
            grvAgregaAlumnos.DataBind();
            lblMensajeModal.Text = "";
            mpeAgregaAlumno.Show();
        }

        protected void btnSalir_Click(object sender, EventArgs e)
        {
            mpeAgregaAlumno.Hide();
        }

        protected void btnBuscarModal_Click(object sender, EventArgs e)
        {

            Alumno_BL OBJ = new Alumno_BL();
            DataTable dato = new DataTable();
            string codigo = "";
            if (txtModalCodigo.Text.Trim().Length == 0)
            {

                codigo = "TODOS";
            }
            else
            {
                codigo = txtModalCodigo.Text.Trim();

            }


            dato = OBJ.DATA_MAESTRO1_ListaAlumnos("TODOS", codigo);

            if (dato.Rows.Count == 0)
            {

                lblMensajeModal.Text = "Alumno no existe.";

            }

            else
            {
                grvAgregaAlumnos.DataSource = dato;
                grvAgregaAlumnos.DataBind();
            }

           

            

        }

        protected void grvAgregaAlumnos_SelectedIndexChanged(object sender, EventArgs e)
        {

            string codigo = "";

            codigo = grvAgregaAlumnos.SelectedRow.Cells[1].Text;
            txtCodigo.Text = codigo;
            UpdatePanel2.Update();
            mpeAgregaAlumno.Hide();

            

        }

    }
}